1. Field of the Invention
The invention relates to inference engines, and more particularly to scalable inference engines for relational database systems.
2. Description of Related Art
The incremental evolution of the Web to a Semantic Web is gaining momentum. Resource Description Framework (RDF) is being widely adopted as a standard to capture the semantics of data. Facts represented as RDF (subject, predicate, object) triples can capture both relationships between resources as well as attribute values associated with a resource. This simple standard representation allows programs (agents) to automatically process data belonging to diverse independently developed applications and web pages. Also, the World Wide Web Consortium (W3C) has proposed ontology representation languages, Resource Description Framework Schema (RDFS) and Web Ontology Language (OWL), to capture domain knowledge. As more and more RDF(S)/OWL encoded data (hereafter referred to as semantic data) becomes available, semantic data stores are needed that support efficient storage, querying, and inference capabilities.
Challenge of Semantic Data Stores
A unique challenge of semantic data stores is the need to automatically derive additional facts based on semantics of RDFS/OWL constructs. Thus, inference engines are an integral part of semantic data stores. Supporting an inferencing capability is challenging for several reasons:                Expressiveness vs. Tractability tradeoffs: On one hand, we would like to have sufficiently expressive constructs to allow users to compactly capture domain knowledge. On the other hand, efficient reasoning is required.        Pre-known semantics vs. user-defined semantics expressed as rules: For RDFS and OWL constructs, since the semantics are known, it simplifies the task of developing the inference engine. However, user-defined semantics expressed as domain rules pose additional challenges, as a general-purpose rule translation mechanism needs to be implemented.        Scalability: The inference engine should be able to do inferencing on arbitrarily large knowledge bases, which rules out main memory based solutions. Another unique aspect of inferencing is that it could produce no additional triples or could produce millions of triples. The inference engine implementation should be able to adapt itself as amount of derived triples increases.        
What is needed is a scalable rule-based inference engine that supports RDF and OWL, and is implemented in a relational database management system.